/**
 * @author WangXinLei
 * @date 2014-09-28
 */
package com.chnbst.bstyun.model.pojo;

import java.util.Date;

import com.chnbst.bstyun.core.model.IPOJO;

public class Order implements IPOJO{
    /**
	 * 序列号
	 */
	private static final long serialVersionUID = 6497316431181451740L;

	/**
     * 订单主表ID
     */
    private Integer orderId;

    /**
     * 订单编号
     */
    private String orderNum;

    /**
     * 商品ID
     */
    private String goodsId;
    
    /**
     * 用户ID
     */
    private Integer userId;

    /**
     * 套餐ID
     */
    private Integer mealId;

    /**
     * 套餐内所包含的产品ID
     */
    private String proIds;

    /**
     *新增的产品ID
     */
    private Integer newProId;

    /**
     * 使用年限
     */
    private String useLife;

    /**
     * 使用人数
     */
    private Integer userNum;

    /**
     * 新增产品的详细信息
     */
    private String dataExtend;

    /**
     * 订单应付金额
     */
    private Double orderMoney;

    /**
     * 订单实付金额
     */
    private Double payMoney;

    /**
     * 代金券编号
     */
    private String voucherNum;

    /**
     * 订单状态（0：待付款  1：已付款   2:已取消 ）
     */
    private Integer orderState;

    /**
     * 生成时间
     */
    private Date occurTime;

    /**
     * 支付时间 
     */
    private Date payTime;

    /**
     * 购买数量
     */
    private Integer count;

    /**
     * 是否已免费试用  （0未免费试用，1已免费试用）
     */
    private Integer isFree;
    
    /**
     * 套餐到期时间
     */
    private Date overTime;
    
    /**
     *  购买类型：0:新购， 1续费   2升级
     */
    private Integer buyType;
    
    /**
     *  新生成用户的父节点（当前登录者）
     */
    private Integer parentId;
    
    /**
     * 删除状态  0 已删除 1彻底删除
     */
    private Integer isDelete;
    
    /**
     * 支付方式
     */
    private Integer payWayId;
    
    /**
     * 账户余额支付金额
     */
    private Double payByAccount;
   
    /**
     * 第三方支付金额
     */
    private Double payByOther;
    
    /**
     * 是否开通成功  （0失败，1成功）
     */
    private Integer isDredge;
    
    /**
     * 产品到期时间
     */
    private Date proOverTime;
    
    /**
     * 优惠金额
     */
    private Double discount;
    
    /**
     * 获取 订单ID
     * @return 返回 订单ID
     */
    public Integer getOrderId() {
        return orderId;
    }

    /**
     * 设置 订单ID
     * @param orderId 订单ID
     */
    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    /**
     * 获取订单编号
     * @return 返回订单编号
     */
    public String getOrderNum() {
        return orderNum;
    }

    /**
     * 设置订单编号
     * @param orderNum 订单编号
     */
    public void setOrderNum(String orderNum) {
        this.orderNum = orderNum;
    }

    /**
     * 获取商品ID
     * @return 返回用户ID
     */
    public String getGoodsId() {
        return goodsId;
    }

    /**
     * 设置商品ID
     * @param goodsId 用户ID
     */
    public void setGoodsId(String goodsId) {
        this.goodsId = goodsId;
    }
    
    /**
     * 获取用户ID
     * @return 返回用户ID
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * 设置用户ID
     * @param userId 用户ID
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * 获取套餐ID
     * @return 套餐ID
     */
    public Integer getMealId() {
        return mealId;
    }

    /**
     * 设置套餐ID
     * @param mealId 套餐ID
     */
    public void setMealId(Integer mealId) {
        this.mealId = mealId;
    }

    /**
     * 获取 套餐内所包含的产品ID
     * @return 返回套餐内所包含的产品ID
     */
    public String getProIds() {
        return proIds;
    }

    /**
     *设置 套餐内所包含的产品ID
     * @param proIds  套餐内所包含的产品ID
     */
    public void setProIds(String proIds) {
        this.proIds = proIds;
    }

    /**
     * 获取 新增的产品ID
     * @return 返回 新增的产品ID
     */
    public Integer getNewProId() {
        return newProId;
    }

    /**
     * 设置新增的产品ID
     * @param newProId 新增的产品ID
     */
    public void setNewProId(Integer newProId) {
        this.newProId = newProId;
    }

    /**
     * 获取使用年限
     * @return 返回 使用年限
     */
    public String getUseLife() {
        return useLife;
    }

    /**
     * 设置 使用年限
     * @param useLife 使用年限
     */
    public void setUseLife(String useLife) {
        this.useLife = useLife;
    }

    /**
     * 获取 用户数量
     * @return 用户数量
     */
    public Integer getUserNum() {
        return userNum;
    }

    /**
     * 设置用户数量
     * @param userNum 用户数量
     */
    public void setUserNum(Integer userNum) {
        this.userNum = userNum;
    }

    /**
     * 获取 新增产品的详细信息
     * @return 返回新增产品的详细信息
     */
    public String getDataExtend() {
        return dataExtend;
    }

    /**
     * 设置 新增产品的详细信息
     * @param data_extend  新增产品的详细信息
     */
    public void setDataExtend(String dataExtend) {
        this.dataExtend = dataExtend;
    }

    /**
     * 获取订单应付金额
     * @return 订单应付金额
     */
    public Double getOrderMoney() {
        return orderMoney;
    }

    /**
     * 设置订单应付金额
     * @param order_money 订单应付金额
     */
    public void setOrderMoney(Double orderMoney) {
        this.orderMoney = orderMoney;
    }

    /**
     * 获取订单实付金额
     * @return 订单实付金额
     */
    public Double getPayMoney() {
        return payMoney;
    }

    /**
     * 设置订单实付金额
     * @param payMoney 订单实付金额
     */
    public void setPayMoney(Double payMoney) {
        this.payMoney = payMoney;
    }

    /**
     * 获取 代金券编号
     * @return 返回 代金券编号
     */
    public String getVoucherNum() {
        return voucherNum;
    }

    /**
     * 设置代金券编号
     * @param voucherNum 代金券编号
     */
    public void setVoucherNum(String voucherNum) {
        this.voucherNum = voucherNum;
    }

    /**
     * 设置订单状态（0：待付款  1：已付款   2:已取消 ）
     * @return 返回订单状态（0：待付款  1：已付款   2:已取消 ）
     */
    public Integer getOrderState() {
        return orderState;
    }

    /**
     * 设置订单状态 （0：待付款  1：已付款   2:已取消 ）
     * @param orderState 订单状态 （0：待付款  1：已付款   2:已取消 ）
     */
    public void setOrderState(Integer orderState) {
        this.orderState = orderState;
    }

    /**
     * 获取 产生时间
     * @return 返回 产生时间
     */
    public Date getOccurTime() {
        return occurTime;
    }

    /**
     *设置产生时间
     * @param occurTime 产生时间
     */
    public void setOccurTime(Date occurTime) {
        this.occurTime = occurTime;
    }

    /**
     * 获取 支付时间
     * @return 返回支付时间
     */
    public Date getPayTime() {
        return payTime;
    }

	/**
     * 设置支付时间
     * @param payTime 支付时间
     */
    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    /**
     * 获取购买数量
     * @return 返回购买数量
     */
    public Integer getCount() {
        return count;
    }

    /**
     * 设置购买数量
     * @param count 购买数量
     */
    public void setCount(Integer count) {
        this.count = count;
    }

    /**
     * 获取 是否已免费试用  （0未免费试用，1已免费试用）
     * @return 返回 是否已免费试用  （0未免费试用，1已免费试用）
     */
    public Integer getIsFree() {
        return isFree;
    }

    /**
     * 设置 是否已免费试用  （0未免费试用，1已免费试用）
     * @param isFree 是否已免费试用  （0未免费试用，1已免费试用）
     */
    public void setIsFree(Integer isFree) {
        this.isFree = isFree;
    }
    
    /**
     * 获取 套餐到期时间
     * @return 返回 套餐到期时间
     */
    public Date getOverTime() {
		return overTime;
	}

    /**
     * 设置 套餐到期时间
     * @param overTime 套餐到期时间
     */
	public void setOverTime(Date overTime) {
		this.overTime = overTime;
	}

	/**
	 *  获取 购买类型：0:新购， 1续费  2升级
	 * @return 返回  购买类型：0:新购， 1续费  2升级
	 */
	public Integer getBuyType() {
		return buyType;
	}

	/**
	 * 设置  购买类型：0:新购， 1续费  2升级
	 * @param buyType  购买类型：0:新购， 1续费  2升级
	 */
	public void setBuyType(Integer buyType) {
		this.buyType = buyType;
	}

	/**
	 * 获取 新生成用户的父节点（当前登录者）
	 * @return 返回  新生成用户的父节点（当前登录者）
	 */
	public Integer getParentId() {
		return parentId;
	}

	/**
	 * 设置 新生成用户的父节点（当前登录者）
	 * @param parentId  新生成用户的父节点（当前登录者）
	 */
	public void setParentId(Integer parentId) {
		this.parentId = parentId;
	}

	/**
	 * 获取  删除状态  0 已删除 1彻底删除
	 * @return  返回 删除状态  0 已删除 1彻底删除
	 */
	public Integer getIsDelete() {
		return isDelete;
	}

	/**
	 * 设置 删除状态  0 已删除 1彻底删除
	 * @param isDelete
	 */
	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}

	/**
	 * 获取  支付方式  
	 * @return  返回  支付方式 
	 */
	public Integer getPayWayId() {
		return payWayId;
	}

	/**
	 * 设置  支付方式  
	 *  @param  payWayId
	 */
	public void setPayWayId(Integer payWayId) {
		this.payWayId = payWayId;
	}

	/**
	 * 获取 账户余额支付金额
	 * @return  返回  账户余额支付金额
	 */
	public Double getPayByAccount() {
		return payByAccount;
	}

	/**
	 * 设置 账户余额支付金额
	 *  @param  payByAccount
	 */
	public void setPayByAccount(Double payByAccount) {
		this.payByAccount = payByAccount;
	}

	/**
	 * 获取 第三方支付金额
	 * @return  返回  第三方支付金额
	 */
	public Double getPayByOther() {
		return payByOther;
	}

	/**
	 * 设置  第三方支付金额
	 *  @param  payByOther
	 */
	public void setPayByOther(Double payByOther) {
		this.payByOther = payByOther;
	}

	/**
	 * 获取  是否开通成功   （0失败，1成功）  
	 * @return  返回  是否开通成功   （0失败，1成功）
	 */
	public Integer getIsDredge() {
		return isDredge;
	}

	/**
	 * 设置  是否开通成功   （0失败，1成功）  
	 *  @param  isDredge
	 */
	public void setIsDredge(Integer isDredge) {
		this.isDredge = isDredge;
	}

	/**
	 * 获取 产品到期时间  
	 * @return 返回 产品到期时间  
	 */
	public Date getProOverTime() {
		return proOverTime;
	}

	/**
	 * 设置 产品到期时间    
	 *  @param proOverTime 产品到期时间  
	 */
	public void setProOverTime(Date proOverTime) {
		this.proOverTime = proOverTime;
	}
	
	/**
	 * 获取 优惠金额
	 * @return 返回 优惠金额
	 */
	public Double getDiscount() {
		return discount;
	}

	/**
	 * 设置 优惠金额    
	 *  @param discount 优惠金额
	 */
	public void setDiscount(Double discount) {
		this.discount = discount;
	}
	
}